define(function(require, exports, module) {
	
	require("form");
	var validator = require("validator");
	
	module.exports = function() {
		var params = {};
		var parent = {};
		return {
			//国际化
			data: {
				title:$.i18n.prop("sys.dict.manager.value.add.title"),
				parent: {
					label:$.i18n.prop("sys.dict.manager.owner")
				},
				value:{
					label:$.i18n.prop("sys.dict.manager.value.value"),
					placeholder:$.i18n.prop("sys.placeholder", [$.i18n.prop("sys.dict.manager.value.value")]),
					errors:"ajax:'"+$.i18n.prop("sys.unique", [$.i18n.prop("sys.dict.manager.value.value")])+"'",
					valid:"required:true,max:100,ajax:{link:'/api/dict/value/validate', name:'value'}"
				},
				label:{
					label:$.i18n.prop("sys.dict.manager.value.label"),
					placeholder:$.i18n.prop("sys.placeholder", [$.i18n.prop("sys.dict.manager.value.label")])
				},
				sort:{
					label:$.i18n.prop("sys.sort"),
					placeholder:$.i18n.prop("sys.placeholder", [$.i18n.prop("sys.sort")]),
					value:0
				},
				memo:{
					label:$.i18n.prop("sys.memo"),
					placeholder:$.i18n.prop("sys.placeholder", [$.i18n.prop("sys.memo")])
				},
				button:{
					reset: $.i18n.prop("sys.reset"),
					submit: $.i18n.prop("sys.submit")
				}
			},
			methods: {
				init: function(data) {
					var me = this;
					params = data;
					parent = params.parent;
					this.value.valid = "required:true,max:100,ajax:{link:'/api/dict/value/validate', name:'value', extraParams:{parent_id:'" + parent.id + "'}}";
					this.$nextTick(function() {
						validator.blur($(this.$el).find("form"));
						me.reset();
						me.loading("close");
					});
					return false;
				},
				reset: function() {
					var formValue = {
						parent:params.parentName,
						parentId:parent.id,
						sort:1
					};
					$(this.$el).find("form").get(0).reset();
					$(this.$el).find("form").setFormValue(formValue);
					this.sort.value = 1;
				},
				submit : function() {
					var me = this;
					var form = $(this.$el).find("form");
					if(form.validate()) {
						this.loading();
						form.ajaxSubmit(function(data) {
							me.loading("close");
							if(data.success) {
								params.refresh();
								me.closeWindow();
							} else if(data.message == 1) {
								$.alert($.i18n.prop("sys.unique", [$.i18n.prop("sys.dict.manager.value.value")]));
							}
						});
					}
				},
				destroy: function() {
					
				}
			}
		}
	}
});